package bszt.jd;

import java.util.Scanner;

public class Code04 {

    /**
     * 问题描述
     * LYA是一位热爱密码学的大学生。她最近在研究一种特殊的字母串加密方法。这种方法需要不断生成下一个字典序的字母串。然而，手动计算下一个字母串既耗时又容易出错。因此，LYA 希望开发一个程序来自动化这个过程
     * 你的任务是帮助LYA编写一个程序，该程序能够接收一个小写字母组成的字符串，并生成按字典序排列的下一个相同长度的字符串
     * <p></p>
     * 输入格式
     * 输入包含一行，给出一个字符串S，字符串S仅由小写字母组成
     * <p></p>
     * 输出格式
     * 输出一行，包含与输入字符串长度相同的下一个字典序字母串。 如果不存在这样的字母串，则输出-1
     */

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        StringBuilder str = new StringBuilder(sc.next());
        int len = str.length();
        int pos = str.length() - 1;
        while (pos >= 0) {
            if (str.charAt(pos) < 'z') {
                str = new StringBuilder(str.substring(0, pos) + ((char) (str.charAt(pos) + 1)));
                for (int i = pos; i < len - 1; i++) {
                    str.append('a');
                }
                break;
            }
            pos--;
        }
        if (pos < 0) System.out.println(-1);
        else System.out.println(str);
    }
}
